package com.ruoyi.degree.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.degree.domain.BizSchools;
import com.ruoyi.degree.domain.BizSchoolsProfessions;
import org.apache.ibatis.annotations.Param;

/**
 * 院校展示Mapper接口
 *
 * @author ruoyi
 * @date 2025-07-25
 */
public interface BizSchoolsProfessionsMapper
{
    /**
     * 查询院校展示
     *
     * @param id 院校展示主键
     * @return 院校展示
     */
    public BizSchoolsProfessions selectBizSchoolsProfessionsById(Long id);

    /**
     * 查询院校展示列表
     *
     * @param bizSchoolsProfessions 院校展示
     * @return 院校展示集合
     */
    public List<BizSchoolsProfessions> selectBizSchoolsProfessionsList(BizSchoolsProfessions bizSchoolsProfessions);

    /**
     * 新增院校展示
     *
     * @param bizSchoolsProfessions 院校展示
     * @return 结果
     */
    public int insertBizSchoolsProfessions(BizSchoolsProfessions bizSchoolsProfessions);

    /**
     * 修改院校展示
     *
     * @param bizSchoolsProfessions 院校展示
     * @return 结果
     */
    public int updateBizSchoolsProfessions(BizSchoolsProfessions bizSchoolsProfessions);

    /**
     * 删除院校展示
     *
     * @param id 院校展示主键
     * @return 结果
     */
    public int deleteBizSchoolsProfessionsById(Long id);

    /**
     * 批量删除院校展示
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizSchoolsProfessionsByIds(Long[] ids);

    /**
     * 根据学校ID批量删除院校专业信息
     *
     * @param ids 学校ID数组
     * @return 结果
     */
    int deleteBizSchoolsProfessionsBySchoolIds(Long[] ids);

    /**
     * 根据学校ID数组查询所有专业列表
     * @param schoolIds 学校ID数组
     * @return 专业列表
     */
    List<BizSchoolsProfessions> selectBizSchoolsProfessionsListBySchoolIds(Long[] schoolIds);

    /**
     * 根据学校ID查询专业列表
     * @param schoolId 学校ID
     * @return 专业列表
     */
    List<BizSchoolsProfessions> selectProfessionsBySearch(Map<String, Object> params);
    /**
     * 根据条件查询学校列表，并计算设置 openingDateId
     * @param placeId 地区id
     * @param eduPlanId 培养计划id
     * @param openingDateId 开学日期字典id
     * @return 处理后的学校列表
     */
    /**
     * 根据学校id列表查询关联的专业信息
     * @param schoolIds 学校id列表
     * @return 专业关联信息列表
     */
    List<BizSchoolsProfessions> selectBySchoolIds(@Param("schoolIds") List<Long> schoolIds);
}
